home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 29 / Commodore_Free_Issue_29_2009_Commodore_Computer_Club.d64 / spiro part 2 < prev    next >
Text File  |  2023-02-26  |  11KB  |  363 lines

  1.  
  2.  
  3.  
  4.  ************************************
  5.  * Interview with Spiro Trikaliotis *
  6.  *      Part of the Vice Team       *
  7.  ************************************
  8.  
  9.   CONTINUED FROM PART 1
  10.  
  11. COMMODRE FREE - Can you explain
  12. OpenCBM to our readers?
  13.  
  14. SPIRO TRIKALIOTIS - OpenCBM started
  15. out as cbm4linux which was written by
  16. Michael Klein; Ibelieve he started
  17. the project in 1999. It was his
  18. approach to connect CBM serial
  19. devices (floppy drives, printers) to
  20. the PC on Linux machines, in "the
  21. same way" like, for example it is
  22. possible using Star Commander by Joe
  23. Forster. In fact, Joe helped Michael
  24. with technical information, as far
  25. as I know.
  26.  
  27. Of course, "in the same way" is not
  28. completely correct: cbm4linux did not
  29. - and does not - have any fancy GUI.
  30. However, Michael could not just port
  31. over the transfer routines of the
  32. Star Commander to Linux. The reason
  33. is simple: When Commodore invented
  34. the serial IEC protocol used for the
  35. bus, it did not have in mind that
  36. some day, computers will be
  37. multi-tasking and doing many things
  38. simultaneously. Thus, they invented a
  39. synchronous protocol; that is,
  40. whenever a transfer is to take place,
  41. both sides have to use a rather
  42. strict timing. Before Michael's work,
  43. it was believed that a multi-tasking
  44. machine like a PC running Linux will
  45. not be able to hold that timing. The
  46. Star Commander does not have that
  47. problem, as DOS is not multi-tasking.
  48.  
  49. Michael found out that he can, in
  50. fact, disable multi-tasking for short
  51. periods of time on Linux. There is
  52. only one operation that is critical:
  53. In some cases, the receiver of a
  54. transmission can delay transmission
  55. for an arbitrary time. It is ready to
  56. receive, it gives a signal which has
  57. to be answered within 200 us, or the
  58. transmission will fail. Now, 200 us
  59. is very tight on a multi-tasking
  60. machine. Michael found out that he
  61. can use an interrupt for this if he
  62. exchanges two pins on the then-famous
  63. XE1541 cable: The XM1541 cable was
  64. born. (There is an intermediate cable
  65. version available, but this is not
  66. important here.)
  67.  
  68. That's why even now, OpenCBM is not
  69. able to use the XE1541 cable nor the
  70. X1541 cable.
  71.  
  72. Now, given the good work from
  73. Michael, it was relatively easy to
  74. port over cbm4linux to Windows,
  75. resulting in cbm4win. Version 0.1.0
  76. of cbm4win was already functional in
  77. 2000 on Windows NT 4.0, but, as
  78. explained above, for legal reasons, I
  79. could not release it. The date must
  80. have been 2003 or 2004 when I rewrote
  81. cbm4win a second time, and when I
  82. released it to the public. In that
  83. time, I received so much help from
  84. Michael as well as Joe, and also from
  85. thorough testing from Wolfgang Moser.
  86.  
  87. In the mean time, cbm4linux and
  88. cbm4win diverted in the sources;
  89. thus, it was hard to keep them
  90. consistent whenever a bug was found.
  91. Thus, Michael and I decided to rejoin
  92. both projects, and the result is
  93. OpenCBM. It comes in two flavours,
  94. OpenCBM/Linux (formerly cbm4linux)
  95. and OpenCBM/Windows (formerly
  96. cbm4win); however, the sources are
  97. the same, except for the platform
  98. specific parts.
  99.  
  100. Q.how it is OpenCBM utilised?
  101.  
  102. OpenCBM itself can be used in two
  103. different ways: At first, there is
  104. the command line, where you have to
  105. run the various commands OpenCBM
  106. includes. I like to work this way,
  107. but many people dislike it. However,
  108. as OpenCBM also has a programming
  109. API, implemented by a DLL (Windows)
  110. or a shared library (Linux), it would
  111. be easy to built a GUI around it.
  112. However, it seems almost no one has
  113. done this. There is, however, a GUI
  114. for Windows available, called
  115. gui4cbm4win. It has been written by
  116. Leif Bloomquist, and now been taken
  117. over by Payton Byrd. It is a Visual
  118. Basic application which directly
  119. calls the OpenCBM commands on the
  120. command line. Thus, in my view, it is
  121. no clean solution - but, one must
  122. admit, it was never meant to be one.
  123.  
  124. To overcome this limitation, as most
  125. Windows users need some UI, I wrote a
  126. Virtual Device Driver for OpenCBM.
  127. This way, any DOS program which runs
  128. on Windows NT 4.0, 2000, XP or Vista
  129. can use the OpenCBM API. DOS program?
  130. Yes, DOS program, as there is one
  131. program available which has a UI that
  132. many people are familiar with: The
  133. Star Commander. Joe, its author,
  134. added the possibility to use that
  135. API, thus, OpenCBM + Star Commander
  136. are a good team on Windows now.
  137.  
  138. However, with Windows XP and Vista in
  139. 64 bit versions, there are some
  140. problems: First, both do not run DOS
  141. programs any more; secondly, on Vista
  142. 64 bit, OpenCBM does not load any
  143. more because it is not signed. If
  144. anyone has the ability for me to sign
  145. it (with a VeriSign signature or
  146. similar), feel free to contact me. I
  147. do not feel I should spend $400 per
  148. year just to be "allowed" to run my
  149. driver on Windows 64 bit.
  150.  
  151. Q. Does our reader need any other
  152. hardware for use with OpenCBM?
  153.  
  154. Yes, indeed. The easiest solution
  155. needs your computer to be equipped
  156. with a parallel port. Note that it
  157. must be a native one: Parallel ports
  158. on PCI or PCI Express cards will most
  159. likely not work; at least, I do not
  160. know any that actually work. All ISA
  161. cards I know do work, and PCMCIA
  162. cards might work, depending upon how
  163. they are internally organised.
  164.  
  165. If you have a parallel port, OpenCBM
  166. needs either an XM1541 or an XA1541
  167. cable. Instructions on building these
  168. can be found on Joe's site:
  169. http://sta.c64.org/xm1541.html for
  170. the XM1541, and
  171. http://sta.c64.org/xa1541.html for
  172. the XA1541. Additionally, if you want
  173. to be able to do fast transfer, you
  174. might want to additionally use an
  175. XP1541 cable
  176. (http://sta.c64.org/xp1541.html).
  177. Note that the XP1541 cable alone is
  178. not enough; it must be used in
  179. conjunction with one of the other two
  180. cables.
  181.  
  182. If your computer does not have a
  183. parallel port - many modern machines
  184. fall into this category -, there is
  185. another solution: The XU1541 cable
  186. (http://www.trikaliotis.net/xu1541).
  187. It connects your drive to the USB bus
  188. instead of to the parallel port. This
  189. cable was originally designed by Till
  190. Harbaum, but he lost interest in it.
  191. Currently, OpenCBM development
  192. versions support this cable, but the
  193. latest release does not. If anyone
  194. builds such a cable, it would be best
  195. if he contact me so I can tell what
  196. the current status is.
  197.  
  198. Note, however, that the XU1541 cable
  199. does not convert your Commodore drive
  200. into some memory that can be used
  201. directly from Windows; you still have
  202. to use OpenCBM in order to access it.
  203.  
  204. Additionally note that besides their
  205. names; all the cables (i.e., XM1541,
  206. XA1541, XU1541) can be used for all
  207. IEC devices, not only for the 1541.
  208. In fact, in conjunction with an
  209. IEC2IEEE device, I use them also to
  210. connect a 8250LP drive (from the PET
  211. era, with an IEEE bus) to my PC.
  212.  
  213. This is not true for the XP1541. This
  214. is only available for the 1541 and
  215. the 1571; additionally, it cannot be
  216. used with the XU1541.
  217.  
  218. Q. Is OpenCBM free to download and
  219. use?
  220.  
  221. Yes. OpenCBM is GPLv2
  222. (http://www.gnu.org/licenses/gpl-2.0.h
  223. tml), exactly like VICE. You get even
  224. the source code, and you are allowed
  225. to modify them. But, if you give away
  226. binary versions, you must take care -
  227. read the license before doing this!
  228.  
  229. Q. What was the decision to produce
  230. free software, why didn't you charge
  231. for the software?
  232.  
  233. In both projects, OpenCBM and VICE, I
  234. had no choice, even if I wanted: Both
  235. were already GPL, thus, I had to use
  236. that. However, if I would have to
  237. program everything from scratch, I
  238. believe I would not charge for it,
  239. anyway. Even if I wanted to: To
  240. market is so small, who should buy
  241. anything?
  242.  
  243. However, I made an interesting
  244. observation: Since I started with
  245. OpenCBM, I have been given the one or
  246. the other thing I needed. For
  247. example, when I started on OpenCBM, I
  248. needed some more cables, as I had
  249. only one variant. Joe Forster send me
  250. all required cables for free no
  251. postage, no nothing.
  252.  
  253. Then, at some time later, Andreas
  254. Senk contacted me because he had
  255. built an IEC2IEEE, a device designed
  256. by Jochen Adler, but it did not work
  257. with OpenCBM. After some research, I
  258. found I could not debug this without
  259. actually owning such a device.
  260. Andreas sent me his device, so I
  261. could do the tests - and I found a
  262. rather severe timing bug in OpenCBM.
  263. When I wanted to return the device to
  264. him, he told me I could keep it, as
  265. he already had built a new one -
  266. again, for free.
  267.  
  268.  I already received some small parts
  269. for my Plus/4 for free when I needed
  270. it. I got it with the words: "You
  271. have given so much time for OpenCBM,
  272. now, I give you a little bit back."
  273. These are fine moments.
  274.  
  275. CF- Do you still feel there is
  276. commercial value in  8-bit machines,
  277. for example if a new 8bit system was
  278. released do you think anyone would
  279. purchase such a system?
  280.  
  281. Other than for nostalgic reasons: No,
  282. I don't think many people would buy
  283. them. I believe even the DTV was
  284. mostly bought by people who already
  285. owned a C64.
  286.  
  287. look at the Commodore One: Even
  288. considering the fact that the
  289. marketing was not very good in my
  290. opinion, it was not a success. I
  291. cannot believe how many people will
  292. buy something like this. In fact, I
  293. doubt I would buy such a machine
  294. myself. It has no practical value.
  295. It's the same as with the Commodore
  296. 65. It might be nice from the
  297. technical point of view, thinking
  298. about the time frame when it was
  299. made, but the lack of software is a
  300. big problem.
  301.  
  302. Q. If Commodore were still around
  303. today what do you think they would be
  304. making?
  305.  
  306. I never was good in these "what-if"
  307. questions, so I would rather not say
  308. anything on that subject. In fact,
  309. when I came back to the Commodore
  310. scene in 1999, I did not even know
  311. that Commodore had filed for
  312. bankruptcy some years before.
  313.  
  314. Q. Are you working on any other
  315. projects you would like to talk
  316. about?
  317.  
  318. Oh, I could tell you, but then I
  319. would have to kill you - nah, just
  320. kidding.
  321.  
  322. Taking my limited time at the moment
  323. - which especially you must recognise
  324. because it took you almost a year to
  325. do this interview I think I should
  326. not announce anything as long as I am
  327. not totally sure that it will
  328. eventually become true. The only
  329. project which is "almost done" is the
  330. integration of the XU1541 into
  331. OpenCBM. In order to integrate the
  332. XU1541, OpenCBM was extended in a way
  333. that it supports plugins now. There
  334. is currently a plugin for the XA1541
  335. and the XM1541 cables, and another
  336. plugin for the XU1541 cable. If there
  337. will be new cables in the future
  338. (firewire, anyone? ;)), it would be a
  339. matter of writing a plugin only.
  340.  
  341.  I would like to greet all the people
  342. out there who read this and did not
  343. fall to sleep until now, and I
  344. especially thank you, Nigel, for the
  345. opportunity to speak up here, and
  346. your patience for me not answering in
  347. time.
  348.  
  349. If anyone wants to contact me, my
  350. contact details can be found at
  351. http://www.trikaliotis.net/ (no fixed
  352. mail address, as I occasionally
  353. change them due to SPAM reasons.)
  354.  
  355. COMMODORE FREE Comments
  356. Spiro Trikaliotis How can we thank
  357. you enough for all the time you spend
  358. on these free projects, thank you for
  359. your time and answering my questions.
  360.  
  361. --
  362.  
  363.